package com.wisdom.admin.service;

import com.wisdom.admin.dto.UmsAdminParam;
import com.wisdom.admin.dto.WxLoginParam;
import com.wisdom.admin.mbg.model.UmsAdmin;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;

/**
 * @author ming
 * @ClassName UmsAdminService.java
 * @Description 用户服务端接口
 * @createTime 2021年03月13日 22:12:00
 */
@Service
public interface UmsAdminService {
    /**
     * 用户登录
     * @param username 用户名
     * @param password 用户密码
     * @return Jwt生成的token
     */
    @Transactional
    public String login(String username,String password);

    /**
     * 微信用户登录
     */
    public Map<String,String> wxlogin(WxLoginParam wxLoginParam);

    /**
     * 根据用户名获取用户
     * @param username 用户名
     * @return 用户信息
     */
    public UmsAdmin getAdminByUsername(String username);

    /**
     * 用户注册
     * @param umsAdminParam 用户参数
     * @return 用户信息
     */
    @Transactional
    public UmsAdmin register(UmsAdminParam umsAdminParam);

    public UserDetails loadUserByUsername(String username);

    public List<UmsAdmin> getUserLists(String keyword,Integer pageSize,Integer pageNum);
}
